﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
//class person {
//public:
//	int _age;
//	string _name;
//	//对象的初始化和清理           
//	//构造函数，进行初始化                      //析构函数  进行清理操作
//	// 没有返回值 不用写void                    //没有返回值，不写void 
//	//函数名与类名相同                          //函数名与类名相同在名称前加~
//	//构造函数可以有参数，可以发生重载            //析构函数不可以有参数，不可以发生重载
//	//创建对象时，构造函数会自动调用，而且只调用一次  //对象销毁前，会自动调用析构函数
//public:
//	person()
//	{
//		//无参构造
//		cout << "person 无参构造函数" << endl;
//	}
//	person(int a)
//	{
//		//有参构造
//		_age = a;
//		cout << "person  有参构造函数" << endl;
//	}
//
//	~person()
//	{
//		cout << "person 析构函数" << endl;
//	}
//	person(const person& p)//拷贝构造
//	{
//		_age = p._age;
//		cout << "拷贝构造" << endl;
//	}
//};
//void test1()
//{
//	person c1;
//}
//int main()
//{
//
//	//括号法
//	//person c1;//
//	//test1();
//	//person p1;//默认构造
//	//person p2(10);//有参构造
//	////拷贝构造
//	//person p3(p2);
//
//	/*cout << "p2的年龄：" << p2._age << endl;
//	cout << "p3的年龄：" << p3._age << endl;*/
//
//
//	//显示法
//	//person p1;
//	//person p2 = person(10);//有参构造
//	//person p3 = person(p2);//拷贝构造
//	//person(p3);
//	/*cout << "aaaa" << endl;*/
//
//
//	//隐式转换法
//	person p4 = 10;  //相当于写了  person p4 = person(10)  ;有参构造
//	person p5 = p4;//拷贝构造
//	system("pause");
//	return 0;
//
//}